import useUserStore from '@/store/modules/user';

// /**
//  * 字符权限校验
//  * @param {Array} value 校验值
//  * @returns {Boolean}
//  */
export function checkPermi(value) {
    if (value && value instanceof Array && value.length > 0) {
        const permissions = useUserStore().permissions;
        const permissionDatas = value;
        const all_permission = '*:*:*';

        const hasPermission = permissions.some(permission => {
            return all_permission === permission || permissionDatas.includes(permission);
        });

        if (!hasPermission) {
            return false;
        }
        return true;
    } else {
        console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`);
        return false;
    }
}

// /**
//  * 角色权限校验
//  * @param {Array} value 校验值
//  * @returns {Boolean}
//  */
export function checkRole(value) {
    if (value && value instanceof Array && value.length > 0) {
        const roles = useUserStore().roles;
        const permissionRoles = value;
        const super_admin = 'admin';

        const hasRole = roles.some(role => {
            return super_admin === role || permissionRoles.includes(role);
        });

        if (!hasRole) {
            return false;
        }
        return true;
    } else {
        console.error(`need roles! Like checkRole="['admin','editor']"`);
        return false;
    }
}
